﻿

#ifndef HPL_PROGRAM_H
#define HPL_PROGRAM_H

#include "node.h"

#include <vector>

namespace hpl
{

/** Logical bunch of files. Don't know yet how they are associated.*/
class Program: public Node
{
public:
	/** Does nothing. To do something use ParseFile() which is logical parsing entry point.*/
	Program();
	
	/** Does lexical/syntactical/grammar or any other processing of the file.
	\path Path to the file which will be parsed.*/
	void ParseFile(const std::string& path);
	
	/** Does not make any sense right now in this class. Just returns true.*/
	bool WasFilled() const;
	
private:
	
	/** All existing files which was parsed using ParseFile() .*/
	std::vector<File*> files;
};

}//namespace hpl

#endif//#ifndef HPL_PROGRAM_H

